package org.example.redpacket.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.redpacket.model.po.ActivityPO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 活动 mapper
 *
 * @author: hero生仔
 */
@Mapper
public interface ActivityMapper {
    /**
     * 根据活动id 查询活动剩余的金额
     *
     * @param activityId activityId
     * @return 剩余的金额
     */
    List<BigDecimal> queryActivityAmountLeft(@Param("activityId") String activityId);

    /**
     * 批量插入红包活动（1 -> n）
     *
     * @param list list
     * @return 成功插入数量
     */
    Integer batchInsertRedPacketActivity(@Param("list") List<ActivityPO> list);

    /**
     * 查询活动PO
     *
     * @param activityId activityId
     * @return List<ActivityPO> list
     */
    List<ActivityPO> queryActivity(@Param("activityId") String activityId);

    /**
     * 更新奖池的余额
     *
     * @param map map
     * @return 更新条数
     */
    int updateLeftAmount(Map<String, Object> map);
}
